Skip to content

Conversation

@vepadulano
Copy link
Member

Using the NO_CXXMODULE option of ROOTTEST_GENERATE_DICTIONARY produces dictionary artifacts that correctly reproduce the ATLAS environment (i.e. there are no C++ module neither modulemap produced in the test build directory).

@vepadulano vepadulano requested a review from pcanal July 11, 2025 11:59
@vepadulano vepadulano self-assigned this Jul 11, 2025
@vepadulano vepadulano requested a review from bellenot as a code owner July 11, 2025 11:59
@vepadulano vepadulano added the clean build Ask CI to do non-incremental build on PR label Jul 11, 2025
@github-actions
Copy link

github-actions bot commented Jul 11, 2025

Test Results

    22 files      22 suites   3d 18h 25m 47s ⏱️
 3 791 tests  3 790 ✅ 0 💤 1 ❌
80 314 runs  80 313 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit a975161.

♻️ This comment has been updated with latest results.

@dpiparo dpiparo self-requested a review July 14, 2025 05:56
dpiparo
dpiparo previously approved these changes Jul 14, 2025
Copy link
Member

@dpiparo dpiparo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for these changes. I am approving the PR, with the caveat that the debian failure perhaps deserves a closer look before merging.

@vepadulano
Copy link
Member Author

Indeed the failure https://github.com/root-project/root/actions/runs/16219472129/job/45796305238?pr=19344#step:11:12437 is worrying

   ============================= test session starts ==============================
  platform linux -- Python 3.9.21, pytest-8.4.1, pluggy-1.6.0
  rootdir: /github/home/ROOT-CI
  plugins: anyio-4.9.0
  collected 1 item
  
  ../../../../../src/roottest/root/ntuple/atlas-datavector/template_instantiation.py F [100%]
  
  =================================== FAILURES ===================================
  _________ TestTemplateInstantiation.test_instantiate_function_template _________
  
  self = <template_instantiation.TestTemplateInstantiation object at 0x7f005ea90d30>
  
      def test_instantiate_function_template(self):
          import ROOT
      
          ROOT.gInterpreter.Declare(r"template <typename T> void foo() {}")
      
          # The call raises an exception that the function cannot be found.
          # What is really happening is that a template instantiation is tried
          # with the "wrong" signature, as the class type passed by the user is
          # not what the compiler sees.
          field_type_name = "AtlasLikeDataVector<CustomStruct>"
          with pytest.raises(TypeError):
              ROOT.foo[field_type_name]()
      
          # The first attempt at instantiating the template has had the side
          # effect of loading the dictionary information for AtlasLikeDataVector,
          # including the alternative class type names
          alt_field_type_names = ROOT.TClassTable.GetClassAlternativeNames(field_type_name)
      
          fully_qualified_type_name = "AtlasLikeDataVector<CustomStruct, DataModel_detail::NoBase>"
      
  >       assert len(alt_field_type_names) == 1
  E       assert 0 == 1
  E        +  where 0 = len(vector<string>{})
  
  ../../../../../src/roottest/root/ntuple/atlas-datavector/template_instantiation.py:25: AssertionError
  =========================== short test summary info ============================
  FAILED ../../../../../src/roottest/root/ntuple/atlas-datavector/template_instantiation.py::TestTemplateInstantiation::test_instantiate_function_template - assert 0 == 1
   +  where 0 = len(vector<string>{})
  ============================== 1 failed in 1.71s ===============================
  CMake Error at /github/home/ROOT-CI/build/RootTestDriver.cmake:232 (message):
    error code: 1

It's unclear to me whether it happens because of the changes in this PR.

@vepadulano vepadulano dismissed dpiparo’s stale review July 29, 2025 07:10

The failure on alma9-clang looks real

@vepadulano vepadulano closed this Oct 22, 2025
@vepadulano vepadulano reopened this Oct 22, 2025
@vepadulano vepadulano closed this Jan 9, 2026
@vepadulano vepadulano reopened this Jan 9, 2026
Using the `NO_CXXMODULE` option of `ROOTTEST_GENERATE_DICTIONARY` produces
dictionary artifacts that correctly reproduce the ATLAS environment (i.e. there
are no C++ module neither modulemap produced in the test build directory).
@vepadulano vepadulano force-pushed the atlas-datavector-cmake branch from a975161 to 2b80641 Compare January 12, 2026 11:33
@vepadulano
Copy link
Member Author

The problem was understood, there was a missing FIXTURES_REQUIRED. The second Python unittest does not need the RNTuple file, but it still needs the class dictionary. The second commit fixes the issue.

@vepadulano vepadulano requested a review from dpiparo January 12, 2026 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clean build Ask CI to do non-incremental build on PR in:Build System

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants